

package com.hazelcast.internal.monitor;

import com.hazelcast.instance.LocalInstanceStats;

/**
 * Local statistics of a single PN counter to be used by {@link MemberState}
 * implementations.
 */
public interface LocalPNCounterStats extends LocalInstanceStats {

    /**
     * Returns the current value of this PN counter
     */
    long getValue();

    /**
     * Returns the total number of add (including increment) operations on this
     * PN counter on this member.
     */
    long getTotalIncrementOperationCount();

    /**
     * Returns the total number of subtract (including decrement) operations on
     * this PN counter on this member.
     */
    long getTotalDecrementOperationCount();
}
